/*
node基于commonJS模块规范设计
三方模块：
内置模块：node天生提供
第三方模块：npm装包使用
自定义模块：自己写的一些模块 
加载自定义模块：相对路径必须加./ 不能省略

conmonJS:
模块私有化：每一个js文件都是单独私有模块。模块里面的值、变量、函数都是私有封闭的。外界默认无法访问。保护变量和命名冲突等问题
模块互相调用：导出导入策略 。A导出B才能导入使用。
module:是当前模块对象的引用.module是一个对象
module.exports:导出当前模块的属性和方法 module.exports也指向一个对象.默认是{}空对象
全局(内置）exports变量. 也是用来导出当前模块属性和方法.默认exports=module.exports.如果exports 指向新值，则它将不再绑定到 module.exports：
所有的exports收集到的属性和方法，都赋值给了Module.exports。
导入
require:commonJS提供的内置模块.用来导入模块。返回值等于module.exports指向的对象。
而不是exports指向的对象。如果exports==module.exports 此时require返回值才等于exports指向对象

导入自定义模块，必须加路径。./xxx ../xxx /xxx。
如果不加路径。node就认为是内置模块或者是第三方模块。这两种模块查找规则是：首先到当前项目node_modules查找该模块。不存在就找node内置提供模块。
不存在就报错。
*/
let arr=[0,20,4]
let res=JSON.stringify(arr)
let res2=arr.toString()
console.log(res,typeof res,res2)
